package com.chenglu.android.mine.beans.mvp.contract;



import com.chenglu.android.bean.SmsCodeBean;
import com.chenglu.android.common.base.BaseView;
import com.chenglu.android.mine.bean.AmountTypeBean;
import com.chenglu.android.mine.bean.BeansDetailBean;
import com.chenglu.android.mine.bean.PutFileBean;
import com.chenglu.android.mine.bean.ReturnStringBean;
import com.chenglu.android.mine.bean.UserInfoBean;

import java.io.File;
import java.util.Map;

import io.reactivex.rxjava3.core.Observable;
import okhttp3.RequestBody;

/**
 * @author: lyj
 * @Created by Copyright 2023/7/27 Guangzhou Hongma Technology Co., Ltd. All rights reserved.
 *
 */
public interface BeansContract {

    /**
     *
     * @description model
     *
     */

    public interface BeansModel{

        Observable<SmsCodeBean> getActiveBeans(String token);

        Observable<AmountTypeBean> getAmountTypeList(String token, Map<String,String> map);

        Observable<BeansDetailBean> getBeansDetails(String token);

        Observable<UserInfoBean> getUserInfo(String token);



    }


    /**
     *
     * @description view
     *
     */

    interface View extends BaseView {
        @Override
        void showLoading();

        @Override
        void dismissLoading();

        @Override
        void onEmpty(Object tag);

        @Override
        void onError(String errMessage);

        void getActiveBeans(SmsCodeBean bean);

        void getAmountTypeList(AmountTypeBean bean);

        void getUserInfo(UserInfoBean bean);

        void getBeansDetails(BeansDetailBean bean);



    }

    /**
     *
     * @description presenter
     *
     */

    interface BeansPresenter {


        void getActiveBeans(String token);

        void getBeansDetails(String token);

        void getAmountTypeList(String token, Map<String,String>map);

        void getUserInfo(String token);



    }
}